package com.cz.mydao.wrapper;

import java.util.List;

/**
 * @descriptions: 条件封装接口
 * @author: Joker.
 * @date: 2024/12/25 16:32
 * @version: 1.0
 */
public interface Wrapper {

    /**
     * 添加等于条件
     * @param column 列
     * @param value 值
     * @return 调用者本身
     */
    Wrapper eq(String column, Object value);

    /**
     * 添加 LIKE 条件
     * @param column 列
     * @param value 值
     * @return 调用者本身
     */
    Wrapper like(String column, String value);

    /**
     * 获取条件的值
     * @return 条件值
     */
    List<Object> getValues();

    /**
     * 添加 IN 条件
     * @param field 字段名
     * @param values 字段值列表
     * @return 调用者本身
     */
    Wrapper in(String field, List<Object> values);

    /**
     * 添加 between and 添加
     * @param betweenField between字段
     * @param andField and字段
     * @return 条件
     */
    Wrapper between(String field, Object betweenField, Object andField);

    /**
     * 构建sql
     * @param tableName 表名
     * @return sql
     */
    String buildSql(String tableName);

}
